package com.taijihuabao.modules.controller;

import com.taijihuabao.common.jsonresult.JsonResult;
import com.taijihuabao.modules.model.basedto.IdDTO;
import com.taijihuabao.modules.model.journalmodel.dto.JournalCodeDTO;
import com.taijihuabao.modules.model.journalmodel.dto.ModelDTO;
import com.taijihuabao.modules.service.JournalModelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * 日报模板
 *
 * @author Tu、xiao
 * @date 2022/1/24 14:17
 */
@Api(tags = "日报模板")
@RestController
@RequestMapping("/api/v1/journalModel")
public class JournalModelController {

    @Resource
    private JournalModelService journalModelService;

    /**
     * 查询所有模板
     *
     * @return
     */
    @ApiOperation("获取模板列表")
    @GetMapping
    public JsonResult selectJournalModelSqlList() {
        return JsonResult.success(journalModelService.getJournalModelList());
    }

    /**
     * 查询单个模板
     *
     * @return
     */
    @ApiOperation("根据编码获取模板")
    @PostMapping("/code")
    public JsonResult selectByCode(@RequestBody JournalCodeDTO journalCodeDTO) {
        return JsonResult.success(journalModelService.selectByCode(journalCodeDTO));
    }

    /**
     * 新增模板
     *
     * @return
     */
    @ApiOperation("新增模板")
    @PostMapping
    public JsonResult insertJournalModel(@RequestBody ModelDTO modelDTO) {
        journalModelService.insertModel(modelDTO);
        return JsonResult.success();
    }

    /**
     * 修改日报模板
     *
     * @return
     */
    @ApiOperation("修改模板")
    @PutMapping
    public JsonResult updateJournalModel(@RequestBody ModelDTO modelDTO) {
        journalModelService.updateModel(modelDTO);
        return JsonResult.success();
    }

    /**
     * 删除日报模板
     *
     * @return
     */
    @ApiOperation("删除模板")
    @DeleteMapping
    public JsonResult deleteJournalModel(@RequestBody JournalCodeDTO journalCodeDTO) {
        journalModelService.deleteModel(journalCodeDTO);
        return JsonResult.success();
    }

}
